Que es data science?¶

Data science is an interdisciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from noisy, structured and unstructured data, and apply knowledge and actionable insights from data across a broad range of application domains. Is a "concept to unify statistics, data analysis, informatics, and their related methods" in order to "understand and analyze actual phenomena" with data.

In [2]:
data
Out[2]:
temp venta
0 15.0 325
1 23.9 525
2 22.2 425
3 14.4 175
4 12.2 125
5 22.8 450
6 26.7 625
7 25.0 550
8 17.8 425
9 18.3 400
10 19.4 450
11 16.7 275

podre estimar la venta de mañana si el pronostico es de 21c ?¶

In [3]:
px.scatter(data,x='temp',y='venta')
In [5]:
fig=px.scatter(data,x='temp',y='venta',trendline="ols")
fig.show()

nuestra predicion/modelo:¶

$$\Large ventas = f(t) = m \cdot t + c$$
In [11]:
print(f"""la ordenada al origen es {params[0]} 
la pendiente es {params[1]}""" )
la ordenada al origen es -197.23935219872047 
la pendiente es 30.362082877067607
$$\Large ventas = 30 \cdot t - 197 $$
In [12]:
def mipred(t):
    v=30*t+(-197)
    return(v)
In [13]:
mipred(21)
Out[13]:
433

mis datos solo iban desde los 12 a los 27c, puedo predecir temperaturas fuera de este rango?¶

In [14]:
mipred(31)
Out[14]:
733
In [15]:
mipred(44)
Out[15]:
1123
In [16]:
mipred(6)
Out[16]:
-17

nuestra predicion/modelo:¶

$$\Large ventas = 30 \cdot t - 197 $$$$\Large ventas = f(t) = m \cdot t + c$$

La relacion funcional verdadera: $ f(x) $

Nuestro modelo: $\hat{f}(x) = m \cdot t + c$

In [30]:
fig=px.scatter(data,x='temp',y='venta',trendline="ols")
fig.show()

machine learning¶

La relacion funcional verdadera: $ f(x1,x2,x3,...,xn) $

Desconocemos todas las variables involucradas

Es nuestra tarea postular y encontrar esas variables:

Nuestro modelo: $\hat{f}(x)=\hat{f}(t,h,d,l) $

t : temperatura
h : humedad
d : dia de la semana
l : locacion
In [18]:
data
Out[18]:
temp venta dia
0 15.0 950.0 0
1 23.9 1395.0 0
2 22.2 1310.0 0
3 14.4 1420.0 1
4 12.2 810.0 0
5 22.8 1840.0 1
6 26.7 1535.0 0
7 25.0 1450.0 0
8 17.8 1090.0 0
9 18.3 1615.0 1
10 19.4 1170.0 0
11 16.7 1035.0 0
In [19]:
fig=px.scatter(data,x='temp',y='venta',trendline="ols")
fig.show()
In [22]:
fig=px.scatter(data,x='dia',y='venta')
fig.show()
In [23]:
fig = px.scatter_3d(data, x='dia', y='temp', z='venta')
fig.show()
In [29]:
fig = px.scatter(data, x='venta', y='venta')
fig.add_scatter(x=data['venta'], y=pred,mode='markers') 
fig.add_scatter(x=data['venta'], y=pred2,mode='markers')

Curso¶

modulo 1¶

C1. Presentacion del curso. Intro a DS
C2. Conceptos de programación
C3. Numpy
C4. Estadística descriptiva
C5. Pandas I
C6. Probabilidad
C7. GeoPandas

modulo 2¶

C9. Limpieza de datos
C10. Visualización I
C11. Pandas II
C12. Data Wrangling
C13. Visualizacion II
C14. Workshop TP1
C15. Estadística Inferencial I
C16. Estadística Inferencial II

modulo 3¶

C18. ML I: Intro a Machine Learning
C19. Presentación TP1
C20. ML II: Train-test split
C21. Regresión lineal simple
C22. Regresión lineal múltiple. Feature Scaling
C23. Regularización

modulo 4¶

C26. Intro a Clasificación + KNN
C27. Presentación TP2
C28. Regresión Logística y regularizacion
C29. Naive Bayes
C30. Evaluación de modelos + Grid Search
C31. Clustering + DBSCAN

modulo 5¶

C34. CART
C35. Presentacion TP3
C36. Modelos de Ensamble
C37. Bagging + Random Forest
C38. Boosting y XGBoost
C39. Evaluación de Modelos y Feature Importance
C40. La maldición de la dimensionalidad + Feature Selection
C41. Pipelines

modulos 6 y 7¶

C44. Descenso gradiente
C45. Reducción de la dimensionalidad
C46. Text Mining I
C47. Text Mining II
C48. Series de tiempo I
C49. Series de tiempo II
C51. Webs Scraping/APIs 
C52. Deploy de modelos
C53. Big Query

Bibliografia¶

Python Data Science Handbook¶

Ideal para empezar! Sin matematica muy dura, con ejemplos de python del trabajo diario de la exploracion de datos y la implementacion de los algoritmos mas basicos de machine learning.

Las notebooks con ejercicios resueltos se pueden ver aca

An Introduction to Statistical Learning¶

La biblia del machine learning, toda la matematica detras de cada algoritmo. De dificil lectura si uno nunca vio una sumatoria, recomendado para acompañar el curso o para mirar al finalizar.

Se puede descargar gratuitamente desde aca en la misma pagina esta el link a las clases grabadas del libro.

Si bien es un libro con ejemplos en R, existe un repositorio con los ejercicios resueltos en python aca

Papers¶


Otra fuente de consulta son los trabajos academicos de donde salen los principales algoritmos que se usan o incluso implementaciones de estos en algun area de interes. Para esto se googlea el DOI en google.scholar y luego con ese numero se buscan en SCI HUB (esta url puede cambiar con el tiempo).

Por ejemplo, nos interesa ver implementaciones de machine learning en la industria alimenticia:

machine learning food industry

Vemos listado este articulo que nos interesa:

The usefulness of artificial intelligence techniques to assess subjective quality of products in the food industry

Copiamos el doi:

https://doi.org/10.1016/S0924-2244(02)00010-9

Y lo buscamos en SCIHUB:

https://sci-hub.tf/https://doi.org/10.1016/S0924-2244(02)00010-9

drawing